A Virtual Private Network (VPN) can enable a private network connection over a public network using encryption. The encryption can be used to transport data and/or information over the network connection securely. A two-factor authentication can include a one-time password (e.g., a software or hardware token) and user provided information. A software token can be installed on a user device and a software token application can run along with a VPN application, exposing the token code to the user. The user can manually enter the token code into the VPN application. A hardware token can be included in a device, for instance. The hardware token can be physically transportable but replacement of the hardware token may also be a physical replacement.